Jezik:
-----------------------------------------------------------------

def x = <1, -2.0, 3.0>;
def y = 2*x + x*x + x*3;
x = -2*y;
print(-y);

Naivna gramatika
-----------------------------------------------------------------

niz_naredbi: niz_naredbi naredba
    | naredba
    ;
naredba: DEF_T ID_T '=' E ';'
    | ID_T '=' E ';'
    | PRINT_T '(' E ')' ';'
    ;
E -> E '+' T
    | E '-' T
    | T
    ;
T -> T * F
    | F
    ;
F -> '(' E ')'
    | BROJ_T
    | polinom
    | '-' F
    | ID_T
    ;
polinom: '<' lista '>'
    ;
lista: lista ',' broj
    | broj
    ;
broj: BROJ_T
    | '-' BROJ_T
    ;

Eliminacija leve rekurzije:                     Skupovi izbora
----------------------------------------------------------------------------------------------------

niz_naredbi: naredba niz_naredbiP               DEF_T, ID_T, PRINT_T 
    ;
niz_naredbiP: naredba niz_naredbiP              DEF_T, ID_T, PRINT_T 
    | eps                                       EOI
    ;
naredba: DEF_T ID_T '=' E ';'                   DEF_T
    | ID_T '=' E ';'                            ID_T
    | PRINT_T '(' E ')' ';'                     PRINT_T
    ;
E -> T EP                                       '(', BROJ_T, ID_T, '-', '<'
    ;
EP -> '+' T EP                                  '+'
    | '-' T EP                                  '-'
    | eps                                       ';', ')'
    ;
T -> F TP                                       '(', BROJ_T, ID_T, '-', '<'
    ;
TP -> '*' F TP                                  '*'
    | eps                                       '+', '-', ';', ')'
    ;
F -> '(' E ')'                                  '('
    | BROJ_T                                    BROJ_T
    | polinom                                   '<'
    | '-' F                                     '-'
    | ID_T                                      ID_T
    ;
polinom: '<' lista '>'                          '<'
    ;
lista: broj listaP                              '-', BROJ_T
    ;
listaP:  ',' broj listaP                        ','
    | eps                                       '>'
    ;
broj: BROJ_T                                    BROJ_T
    | '-' BROJ_T                                '-'
    ;

Skupovi First i Follow
-----------------------------------------------------------------

Pravilo         | First                         | eps   | Follow
-----------------------------------------------------------------------------------------------
niz_naredbi     | DEF_T, ID_T, PRINT_T          | /     | EOI
-----------------------------------------------------------------------------------------------
niz_naredbiP    | DEF_T, ID_T, PRINT_T          | DA    | EOI
-----------------------------------------------------------------------------------------------
naredba         | DEF_T, ID_T, PRINT_T          | /     | DEF_T, ID_T, PRINT_T, EOI
-----------------------------------------------------------------------------------------------
E               | '(', BROJ_T, ID_T, '-', '<'   | /     | ';', ')'
-----------------------------------------------------------------------------------------------
EP              | '+', '-'                      | DA    | ';', ')'
-----------------------------------------------------------------------------------------------
T               | '(', BROJ_T, ID_T, '-', '<'   | /     | '+', '-', ';', ')'
-----------------------------------------------------------------------------------------------
TP              | '*'                           | DA    | '+', '-', ';', ')'
-----------------------------------------------------------------------------------------------
F               | '(', BROJ_T, ID_T, '-', '<'   | /     | '*', '+', '-', ';', ')'
-----------------------------------------------------------------------------------------------
polinom         | '<'                           | /     | '*', '+', '-', ';', ')'
-----------------------------------------------------------------------------------------------
lista           | '-', BROJ_T                   | /     | '>'
-----------------------------------------------------------------------------------------------
listaP          | ','                           | DA    | '>'
-----------------------------------------------------------------------------------------------
broj            | '-', BROJ_T                   | /     | ',', '>'
-----------------------------------------------------------------------------------------------